using System.Threading.Tasks;
using YourNamespace.Models.Requests;

namespace YourNamespace.Services
{
    public interface IProductionPlanningService
    {
        /// <summary>
        /// 批量处理生产计划排程
        /// </summary>
        /// <param name="request">批量排程请求</param>
        /// <returns>处理结果</returns>
        Task<BatchScheduleResult> BatchScheduleAsync(BatchScheduleRequest request);
    }

    public class BatchScheduleResult
    {
        /// <summary>
        /// 是否成功
        /// </summary>
        public bool Success { get; set; }

        /// <summary>
        /// 消息
        /// </summary>
        public string Message { get; set; }

        /// <summary>
        /// 处理结果列表
        /// </summary>
        public List<ScheduleItemResult> Results { get; set; }
    }

    public class ScheduleItemResult
    {
        /// <summary>
        /// 生产计划ID
        /// </summary>
        public string ProductionPlanningId { get; set; }

        /// <summary>
        /// 是否成功
        /// </summary>
        public bool Success { get; set; }

        /// <summary>
        /// 错误信息
        /// </summary>
        public string ErrorMessage { get; set; }
    }
} 